Python中pass和return有什么区别 您所在的位置:网站首页 past 和 pass Python中pass和return有什么区别

Python中pass和return有什么区别

#Python中pass和return有什么区别| 来源: 网络整理| 查看: 265

回答问题

我在 Pinax 和其他 django 应用程序中看到了一些代码,它们没有通过,而是使用了一个空的 return 语句。有什么区别,它会对我正在运行的下面的 django 代码产生任何影响吗?该代码是一种信号方法,可自动将主题标签保存到推文对象的 taggit 标记对象中。

我在这里看到一个问题,关于 PHP 中是否有 return 语句是否会对解释的字节码产生影响,但我不确定它是否与 Python 有关。

import re TAG_REGEX = re.compile(r'#(?P\w+)') def get_tagged(sender, instance, **kwargs): """ Automatically add tags to a tweet object. """ if not instance: return # will pass be better or worse here? post = instance tags_list = [smart_unicode(t).lower() for t in list(set(TAG_REGEX.findall(post.content)))] if tags_list: post.tags.add(*tags_list) post.save() else: return # will a pass be better or worse here? post_save.connect(get_tagged, sender=Tweet) Answers if not instance: return # will pass be better or worse here?

更差。它改变了逻辑。pass实际上的意思是:什么都不做。如果您在此处将return替换为pass,则控制流将继续,从而更改代码的语义。

pass的目的是创建空块,这在 Python 的缩进方案中是不可能的。例如,C 中的空函数如下所示:

void foo() { }

在 Python 中,这将是一个语法错误:

def foo():

这是pass派上用场的地方:

def foo(): pass


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有